1. Technical Field of the Invention
The present invention relates generally to an interleaving apparatus designed to rearrange a string of bits received or to be transmitted for eliminating errors locally occurring in the bit string.
2. Related Art
Recently, mobile communications systems such as portable telephones are in widespread use. Wireless communications systems such as mobile communications systems may experience local errors or burst errors taken place in a bit string to be received or transmitted. In order to minimize a lack of any bits caused by the burst errors, rearrangement of the bit string or interleaving is used.
Typical interleaving apparatuses are designed to subject a bit string to coding such as convolutional coding and interleaving for error correction and produces a coded and interleaved bit string. FIG. 7 shows an input bit string. FIG. 8 shows an interleaved and coded bit string. The interleaving is such that, for instance, a bit "1"(not shown) is coded and interleaved to produce a bit "1a" and a bit "1b" (not shown). In order to perform this function, the conventional interleaving apparatuses, as shown in FIG. 9, include a convolutional coding circuit 100, a bit storage circuit 200, a control circuit 300, and an order storage circuit 400.
The convolutional coding circuit 100 includes a plurality of registers A1 to A9 for convolutional coding. The convolutional coding 100 performs an operation C1=A1+A4+A5+A7+A9 and an operation C2=A2+A3+A4+A6+A8 on, for example, the first bit "1" in a bit stream to produce a bit "1a" and a bit "1b", respectively. Specifically, C1 and C2 are calculated using predetermined initial values as values of the registers A1 to A8 and the bit "1" as a value of the register A9. The convolutional coding circuit 100 outputs the bit "1a" and the bit "1b" from ports 110 and 120, respectively. Similarly, the convolutional coding circuit 100 produces bits "2a" and "2b" from the second bit "2" following the first bit "1" and also produces bits "288a" and "288b" from the last bit "288". In the following discussion, the bits "1a", "1b", . . . "288a", and "288b" will be referred to as coded bits.
The bit storage circuit 200 stores therein the coded bits in the order in which they are outputted from the convolutional coding circuit 100. The control circuit 300 rearranges the coded bits in the bit storage circuit 200 in the order 1000 stored in the order storage circuit 400. The order 1000, as shown in FIG. 10, represents rearrangement of the coded bits and identical with the order of bits in a coded and interleaved bit string. The control circuit 300 outputs the rearranged coded bits or the coded and interleaved bit string to an quadrature converter circuit (not shown).
However, the conventional interleaving apparatus needs to have storage locations for all bits in an input bit string in the bit storage circuit 200 for coding and interleaving the bit string. For example, when 288 bits are inputted, the bit storage circuit 200 needs to have 576 storage locations (=288.times.2). Usually, an interleaving apparatus designed to convolutinally code N input bits at a coding rate R requires storage locations of a number for storing N.times.R bits. However, portable telephones have usually a small space for mount of parts and circuits. Thus, addition of the coding and interleaving function to the portable telephones requires a decrease in storage location in the bit storage circuit 200.